今天是鐵人賽的第十八天,今天學習的重點是列表推倒式(list comprehensions)。
-1列表生成式是什麼?
列表生成式是一種簡潔且強大的語法,用來創建列表,與傳統的for迴圈相比,不僅簡短還提升程式的可讀性。
-2基本語法
列表生成式的基本結構是:
[運算 for 元素 in 可迭代物件 if 條件]
舉例
將1-10的平方數放進一個列表:
squares = [x**2 for x in range(1, 11)]
print(squares) //輸出: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
-3條件篩選
你還可以在列表生成式中加入條件來過濾元素。例如,只取 1 到 10 中的偶數:
even_numbers = [x for x in range(1, 11) if x % 2 == 0]
print(even_numbers) //輸出: [2, 4, 6, 8, 10]
-4嵌套列表生成式
列表生成式還可以嵌套使用,例如創建一個二維列表:
matrix = [[i for i in range(3)] for j in range(3)]
print(matrix) //輸出: [[0, 1, 2], [0, 1, 2], [0, 1, 2]]